﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Objects;
using ConsultasLogopedia.Domain;


namespace ConsultasLogopedia.Data
{
    public class ManagerEntities : ObjectContext
    {
        private ObjectSet<Usuario> _usuarios;
        private ObjectSet<CategoriaLogopeda> _categoriasLogopedas;
        private ObjectSet<Consulta> _consultas;
        private ObjectSet<Logopeda> _logopedas;
        private ObjectSet<Respuesta> _respuestas;        

        public ManagerEntities(string connecionString)
            : base(connecionString)
        {
            ContextOptions.LazyLoadingEnabled = true; //Dangerous!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            _usuarios = CreateObjectSet<Usuario>();
            _categoriasLogopedas = CreateObjectSet<CategoriaLogopeda>();
            _consultas = CreateObjectSet<Consulta>();
            _logopedas = CreateObjectSet<Logopeda>();
            _respuestas = CreateObjectSet<Respuesta>();
        }

       
        #region Properties
        public ObjectSet<Usuario> Usuarios
        {
            get { return _usuarios; }
        }
        public ObjectSet<CategoriaLogopeda> CategoriasLogopedas
        {
            get { return _categoriasLogopedas; }
        }
        public ObjectSet<Consulta> Consultas
        {
            get { return _consultas; }
        }
        public ObjectSet<Logopeda> Logopedas
        {
            get { return _logopedas; }
        }
        public ObjectSet<Respuesta> Respuestas
        {
            get { return _respuestas; }
        }
        #endregion

        #region Usuario

        public void AddUsuario(Usuario u)
        {
            Usuarios.AddObject(u);
            this.SaveChanges();
        }

        public void DeleteUsuario(Usuario u)
        {
            Usuarios.DeleteObject(u);
            this.SaveChanges();
        }

        public void UpdateUsuario(Usuario u)
        {
            Usuarios.Attach(u);

        }     

        

        #endregion 

    }
}
